using System;
using System.Collections.Generic;

namespace SharedObjects
{
	public class EmailHeader : EntityBase
	{
		public string From { get; set; }
		public List<string> Recipients { get; set; }
		public List<string> CCs { get; set; }
		public List<string> BCCs { get; set; }
		public DateTime CreationTimestamp { get; set; }
		public string Subject { get; set; }
		public EmailFolder Folder { get; set; }
		public EmailMessageStatus Status { get; set; }
		public ulong EmailBodyId { get; set; } //no direct link, to let us fetch only the headers. Messages themselves should be retrieved separately
	}

	public class EmailBody : EntityBase
	{
		public string Message { get; set; }
		public List<ulong> AttachmentIds { get; set; }		
	}

	public enum EmailMessageStatus
	{
		Unread,
		Read,
		RepliedTo, //email has been replied to
		ForwardedTo //email has been forwarded to someone
	}
}